package com.future.message.Service;

import com.future.message.Utils.ResponseResult;
import com.future.message.pojo.Index;
import org.springframework.web.multipart.MultipartFile;

public interface IndexService {
    /**
     * 添加一级指标
     * @param indexName
     * @return
     */
    ResponseResult addOneIndex(String indexName);

    /**
     * 添加二级指标
     * @param indexName
     * @param indexFatherId
     * @return
     */
    ResponseResult addTwoIndex(String indexName,Integer indexFatherId);

    /**
     * 添加三级指标
     * @param indexName
     * @param indexFatherId
     * @return
     */
    ResponseResult addThreeIndex(String indexName,Integer indexFatherId);

    /**
     * 通过id删除指标
     * @param indexId
     * @return
     */
    ResponseResult deleteIndexById(Integer indexId);

    /**
     * 修改指标
     * @return
     */
    ResponseResult updateIndex(String content,Integer indexId);

    /**
     * 通过id查找
     * @param indexId
     * @return
     */
    ResponseResult findIndexById(Integer indexId);

    /**
     * 批量删除指标
     * @param indexId
     * @return
     */
    ResponseResult deleteIndexList(Integer []indexId,Integer indexNowGrade);

    /**
     * 通过指标等级和父指标id遍历指标--后台
     * @param indexNowGrade
     * @param indexFatherId
     * @return
     */
    ResponseResult findAllIndexByIndexNowGrade(Integer indexNowGrade,Integer indexFatherId);

    /**
     * 根据指标等级,父指标id,用户id,遍历自己的指标
     * @param userId
     * @param indexNowGrade
     * @param indexFatherId
     * @return
     */
    ResponseResult findIndexByUserIdAndIndexNowGrade(Integer userId,Integer indexNowGrade,Integer indexFatherId);

    /**
     * 填报指标附件
     * @param thirdIndexId
     * @param data
     * @return
     */
    ResponseResult updateData(Integer thirdIndexId, MultipartFile[] data);

    /**
     * 继承上一年的所有指标
     * @return
     */
    ResponseResult extendsIndex(String year);

    /**
     * 根据指标等级和父指标以及年份遍历
     * @param indexNowGrade
     * @param indexFatherId
     * @param year
     * @return
     */
    ResponseResult findAllIndexByIndexNowGradeAndYear(Integer indexNowGrade,Integer indexFatherId,String year);

}
